#pragma once

//////////////////////////////////////////////////////////////////////
//	http://en.wikipedia.org/wiki/CIELUV_color_space
//	http://www.brucelindbloom.com/index.html?Equations.html
//	CIELAB values range as follows:
//	L lies between 0 and 100, and A and B lie between -110 and 110.
//	Output is always between 0 and 1.
//	The white point for CIELAB is fixed at the D65 standard.
//////////////////////////////////////////////////////////////////////

namespace ColorConversion
{
	void HSVtoRGB	(float H, float S, float V, float* RGB);
	void LABtoXYZ	(float L, float A, float B, float* XYZ);
	void LUVtoXYZ	(float L, float U, float V, float* XYZ);
	void XYZtoRGB	(float X, float Y, float Z, float* RGB);
	void LCHtoLAB	(float L, float C, float H, float* LAB);
	void LABtoRGB	(float L, float A, float B, float* RGB);
	void LUVtoRGB	(float L, float U, float V, float* RGB);
	void LCHABtoRGB(float L, float C, float H, float* RGB);
	void LCHUVtoRGB(float L, float C, float H, float* RGB);
};
